const RegexUtil = {
  // 验证手机号
  checkMobile: mobile => {
    // 正则用//包起来
    const regex = /^1[3456789]\d{9}$/;
    if (mobile && mobile !== null && mobile !== "" && mobile !== undefined) {
      // react使用正则表达式变量的test方法进行校验，直接使用value.match(regex)显示match未定义
      return regex.test(mobile);
    }
    // 这里的callback函数会报错
    return false;
  },
  // 验证车牌号
  isVehicleNumber: vehicleNumber => {
    let result = false;
    if (vehicleNumber.length === 7 || vehicleNumber.length === 8) {
      const express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4,5}[A-Z0-9挂学警港澳]{1}$/;
      result = express.test(vehicleNumber);
    }
    return result;
  },

  // 验证验证码
  checkCode: code => {
    // 正则用//包起来
    const regex = /^[\d]{4}|[\d]{6}$/;
    if (code && code !== null && code !== "" && code !== undefined) {
      // react使用正则表达式变量的test方法进行校验，直接使用value.match(regex)显示match未定义
      return regex.test(code);
    }
    // 这里的callback函数会报错
    return false;
  },
  // 验证是否为合法的数字字符串
  isRightfulNumber: numberStr => {
    const regex = /^[\d]+$/;
    if (numberStr && numberStr !== null && numberStr !== "" && numberStr !== undefined) {
      // react使用正则表达式变量的test方法进行校验，直接使用value.match(regex)显示match未定义
      return regex.test(numberStr);
    }
    // 这里的callback函数会报错
    return false;
  },
  // 验证字符串是否包含汉字
  checkChinese: str => {
    const reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
    return reg.test(str);
  },
};

export default RegexUtil;
